In recent years, with the spread of a cloud computing, a service, which is provided using data of a user accumulated in computer resources connected to a network, is rapidly prevailing. In such a service, an opportunity of treating sensitive data of a user is increasing. Consequently, it is important to guarantee safe management of user's data.
Under such a situation, research and development have been actively conducted for a technology of managing data an encrypted state in an open network environment and executing retrieval, statistical processing and the like without decrypting the data.
Furthermore, in recent years, since crimes having exploited vulnerability of personal authentication using a password and a magnetic card frequently occur, a biometric authentication technology with higher safety based on biometric features such as a fingerprint and a vein has been spotlighted.
In biometric authentication, in order to verify authentication information, it is necessary to keep templates regarding biometric information in a database. Since biometric information such as a fingerprint and a vein is basically unchangeable throughout the life and great damage occurs when the information is leaked, high confidentiality is required.
Therefore, a template protection type biometric authentication technology, in which template information is authenticated while keeping the template information secret such that “impersonation” can be prevented even though templates are leaked, has become important.
For example, Patent Literature 1 discloses a scheme in which fingerprint data is expressed as points on a polynomial, random points are added to the points, and biometric authentication is performed employing data keeping the secrecy of the fingerprint data as templates.
Furthermore, Non-Patent Literature 1 discloses a scheme in which biometric information of a client requesting authentication is protected using public key encryption having homomorphism.
Moreover, Patent Literature 2 discloses a system in which a verification device encrypts a feature vector for registration using a public key and random numbers, registers the encrypted feature vector for registration in an authentication device. During authentication, the verification device encrypts a feature vector for authentication using the public key and the random numbers. Subsequently, while the two encrypted feature vectors are in a state of encryption, the verification device generates encryption similarity information from which the degree of similarity between the two feature vectors can be derived by means of decryption processing using a secret key. Moreover, a decryption device decrypts the encryption similarity information and derives the degree of similarity of a plaintext, and a source is authenticated if the degree of similarity is equal to or over a threshold value.